package com.aiti.lulian.controller;


import com.aiti.base.core.base.controller.WebController;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.dto.ActivitySummaryDto;
import com.aiti.lulian.dto.DataBoardDto;
import com.aiti.lulian.entity.ActivitySummary;
import com.aiti.lulian.service.DataBoardService;
import com.aiti.lulian.service.IActivitySummaryService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.jsoup.helper.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("board")
public class DataBoardController extends WebController {
    @Autowired
    private DataBoardService dataBoardService;


    /***
     * 销售Top5
     * @param dto
     * @return
     */
    @GetMapping("/top")
    public Message top(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.top5(dto);
    }


    /**
     * 商机漏斗
     * @param dto
     * @return
     */
    @GetMapping("/businessFunnel")
    public Message businessFunnel(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.businessFunnel(dto);
    }

    /**
     * 客户状态
     * @param dto
     * @return
     */
    @GetMapping("/customerStatus")
    public Message customerStatus(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.customerStatus(dto);
    }

    /**
     * 商机来源
     * @param dto
     * @return
     */
    @GetMapping("/businessSource")
    public Message businessSource(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.businessSource(dto);
    }

    /**
     * 合同确认数
     * @param dto
     * @return
     */
    @GetMapping("/contractConfirmCount")
    public Message contractConfirmCount(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.contractConfirmCount(dto);
    }

    /**
     * 客户分布
     * @param dto
     * @return
     */
    @GetMapping("/customerDistribution")
    public Message customerDistribution(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.customerDistribution(dto);
    }

    /**
     * 访客数量
     * @param dto
     * @return
     */
    @GetMapping("/visitorCount")
    public Message visitorCount(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.visitorCount(dto);
    }

    /**
     * 客户跟进情况
     * @param dto
     * @return
     */
    @GetMapping("/customerFollowUp")
    public Message customerFollowUp(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.customerFollowUp(dto);
    }

    @GetMapping("/saleInfo")
    public Message saleInfo(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.saleInfo(dto);
    }

    /**
     * 名片转发情况
     * @param dto
     * @return
     */
    @GetMapping("/cardPubInfo")
    public Message cardPubInfo(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.cardPubInfo(dto);
    }
    /**
     *转发top5
     * @param dto
     * @return
     */
    @GetMapping("/cardPubRank")
    public Message cardPubRank(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.cardPubTop5(dto);
    }
    /**
    *询盘top5
    * @param dto
    * @return
    **/
    @GetMapping("/inquiryRank")
    public Message inquiryRank(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.inquiryRank(dto);
    }
    /**
     *询盘数量
     * @param dto
     * @return
     **/
    @GetMapping("/inquiryCount")
    public Message inquiryCount(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.inquiryCount(dto);
    }
    /**
     *部门人员
     * @param dto
     * @return
     **/
    @GetMapping("/deptUserCount")
    public Message deptUserCount(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.deptUserCount(dto);
    }
    /**
     *名片数据
     * @param dto
     * @return
     **/
    @GetMapping("/cardInfo")
    public Message cardInfo(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.cardInfo(dto);
    }

    /**
     * 访客top5
     * @param dto
     * @return
     */
    @GetMapping("/visitorRank")
    public Message visitorRank(DataBoardDto dto){
        String userId = dto.getUserId();
        if(StringUtils.isEmpty(userId)){
            dto.setUserId(findUserId());
        }
        return dataBoardService.visitorTop5(dto);
    }



}
